(function($){
	$.fn.etags = function(options) {
		var defaults = {};
		var options = $.extend(defaults, options);
	 
		return this.each(function() {
			var obj = $(this);
			var res = $(obj).find('.Etags-result');
			var inp = $(obj).find('input:text');
			var but = $(obj).find('input:button');
			
			$(inp).bind('keypress', function(e) {
				var code = (e.keyCode ? e.keyCode : e.which);
				if(code == 13) { //Enter keycode
					addTag($(inp).val());
					return false;
				}
			});
			
			$(but).bind('click keypress', function(e){
				var code = (e.keyCode ? e.keyCode : e.which);
				if(code == 13 || code == 1) { //Enter keycode
					addTag($(inp).val());
					return false;
				}
			})
			
			$(res).find('a').live('click', function(){
				$(this).remove();
				return false;
			})
			
			function addTag(tag){
				if(!tag) return;
				$(inp).val('');
				var flag = true;
				
				$(res).find('a').each(function(){
					if( $(this).find('input').val() == tag)
						flag = false;
				})
				
				if(flag)
					$(res).append('<a href="#">'+tag+'<input type="hidden" name="'+options.model+'['+options.name+'][]" value="'+tag+'"></a>');
			}
			
			
		});
	};
})(jQuery);
